package cn.iocoder.yudao.framework.pay.core.client.impl.hftx.vo;

import jakarta.validation.constraints.NotNull;
import lombok.Builder;
import lombok.Data;

/**
 * 汇付天下支付请求参数
 *
 * @author sisansan
 * @date 2025/3/5
 */
@Data
@Builder
public  class HftxPayRequestParam {
    /**
     * 请求流水号=外部订单号
     */
    private String reqSeqId;
    /**
     * 商品描述
     */
    @NotNull(message = "商品描述不能为空")
    private String goodsDesc;
    /**
     * 交易类型
     */
    @NotNull(message = "交易类型不能为空")
    private String tradeType;
    /**
     * 交易金额 保留2小数
     */
    @NotNull(message = "交易金额不能为空")
    private String transAmt;
    /**
     * 微信用户openid
     */
    @NotNull(message = "用户openid不能为空")
    private String subOpenId;
    /**
     * 异步通知地址
     */
    @NotNull(message = "异步通知地址不能为空")
    private String notifyUrl;
    /**
     * 商品详情
     */
    private HftxGoodsDetail goodsDetail;
    /**
     * 原订单交易时间
     */
    private String orgReqDate;

    /**
     * 商品详情
     */
    @Data
    @Builder
    public static class HftxGoodsDetail {
        /**
         * 原价-保留2位小数
         */
        private String costPrice;
        /**
         * 商品小票Id
         */
        private String receiptId;
        /**
         * 商品明细-数组支付串
         */
        private String wxRucan;
    }
}
